zod.custom<T>()
独自のcustom schemaを定義する時に使う
「schema」は、z.string()とかz.number()みたいなやつのこと
通常のzodの関数が、値から型を生成するのに対し、
custom()は逆で、型から値を規定する感じ
向きとしては通常のTypeScriptとおなじになるmrsekut.icon
code:ts
const px = z.custom<${number}px>((val) => {
return /^\d+px$/.test(val as string);
});
type px = z.infer<typeof px>; // ${number}px
px.parse("42px"); // "42px"
px.parse("42vw"); // throws;
関連